home *** CD-ROM | disk | FTP | other *** search
/ Adobe Graphics & Publishing SDK 1996 December / Adobe Graphics & Publishing SDK 1996 December.iso / mac / Premiere 4.2 SDK r3 Mac / Examples / .h files / PremiereBasic.r < prev    next >
Text File  |  1996-01-25  |  6KB  |  131 lines

  1. //========================================================================================
  2. //
  3. // PremiereBasic.r - Types for Premiere plug-in resources.
  4. //
  5. // Part of the Adobe Premiere¬ 4.2 Plug-In Develoer's Toolkit. Use the information in this
  6. // file for developing 'SPFX', 'VFlt', 'AFlt', 'ExpD', 'ExpM', 'ZooM', and 'DevC' modules.
  7. //
  8. // Header file written 11/3/93 by Bryan K. ╥Beaker╙ Ressler.
  9. //
  10. // Copyright ⌐ 1992-96, Adobe Systems Incorporated, all rights reserved worldwide.
  11. //
  12. // Version    1.00    11/3/93        Original version.
  13. // Version    1.01    9/12/94        Updated for 4.0.
  14. // Version  1.02    10/6/95     Updated Premiere for 4.2 and CodeWarrior7.
  15. //
  16. //========================================================================================
  17.  
  18. //========================================================================================
  19. // Includes
  20. //========================================================================================
  21. #include "Types.r"
  22.  
  23. //----------------------------------------------------------------------------------------
  24. // Used by SPFX modules to provide their plain text description. Use ID 1000.
  25. //----------------------------------------------------------------------------------------
  26. type 'TEXT' {
  27.     string;
  28. };
  29.  
  30. //----------------------------------------------------------------------------------------
  31. // Used by SPFX modules to specify their version. Current version is $0001. Use ID 1000.
  32. //----------------------------------------------------------------------------------------
  33. type 'FXvs' {
  34.     integer;
  35. };
  36.  
  37. //----------------------------------------------------------------------------------------
  38. // Used by SPFX modules to specify their valid options and initial corners. Use ID 1000.
  39. //----------------------------------------------------------------------------------------
  40. type 'Fopt' {
  41.     byte;                        // Valid corners mask
  42.     byte;                        // Initial corners
  43.     byte    No = 0, Yes = 1;    // Has custom parms, corners in pairs, time invariant
  44.     byte    No = 0, Yes = 1;    // Exclusive?
  45.     byte    No = 0, Yes = 1;    // Reversible?
  46.     byte    No = 0, Yes = 1;    // Has edges?
  47.     byte    No = 0, Yes = 1;    // Has start point?
  48.     byte    No = 0, Yes = 1;    // Has end point?
  49. };
  50.  
  51. //----------------------------------------------------------------------------------------
  52. // Use these bit values to set the first and second bytes of an Fopt resource.
  53. //----------------------------------------------------------------------------------------
  54. #define bitTop            0x01    // Sides
  55. #define bitRight        0x02
  56. #define    bitBottom        0x04
  57. #define    bitLeft            0x08
  58. #define    bitUpperRight    0x10    // Corners
  59. #define    bitLowerRight    0x20
  60. #define    bitLowerLeft    0x40
  61. #define    bitUpperLeft    0x80
  62.  
  63. //----------------------------------------------------------------------------------------
  64. // Use these bit values to set the third byte of an Fopt resource.
  65. //----------------------------------------------------------------------------------------
  66. #define bitPairs        0x01    // Set if opposite corners always turn on together
  67. #define bitCustom        0x02    // Set if this effect can do a custom settings dialog
  68. #define bitInvariant    0x04    // Set if this effect does not vary over time
  69. #define bitNo1stCall    0x08    // Set if bitCustom SPFX doesn't want initial esSetup call
  70. #define bitUsesSource    0x20    // Set if esSetup message uses the callback
  71.  
  72. //----------------------------------------------------------------------------------------
  73. // Used by SPFX modules to tell Premiere how to map a transition to one of the standard
  74. // SMPTE 19. Valid values are in PremiereInterface.h.
  75. //----------------------------------------------------------------------------------------
  76. type 'FXDF' {
  77.     longint;
  78. };
  79.  
  80. //----------------------------------------------------------------------------------------
  81. // Use this resource to make new VFlt modules based on the standard Photoshop 3x3 convol-
  82. // ution kernel. See the Find Edges filter for an example. Use ID 1000.
  83. //----------------------------------------------------------------------------------------
  84. type 'KRNL' {
  85.     integer;        // 9 values for 3 x 3 convolution kernel
  86.     integer;
  87.     integer;
  88.     integer;
  89.     integer;
  90.     integer;
  91.     integer;
  92.     integer;
  93.     integer;
  94.     integer;        // Value to add to the sum
  95.     integer;        // Divisor
  96. };
  97.  
  98. //----------------------------------------------------------------------------------------
  99. // Descriptor for allowing filters to animate over time. A structure of this type can be
  100. // added to a 'VFlt', an 'AFlt', or a PhotoShop filter to describe the data structure of
  101. // its data blob. Specify pdOpaque for any non-scalar data in the record, or data that you
  102. // don't want Premiere to interpolate for you. Make the FltD describe all the bytes in the
  103. // data blob. Use ID 1000.
  104. //----------------------------------------------------------------------------------------
  105. type 'FltD' {
  106.     array {
  107.         integer                    // Specifies the type of the data
  108.             pdOpaque = 0,            // Opaque - don't interpolate this
  109.             pdChar = 1,                // Interpolate as signed byte
  110.             pdShort = 2,            // Interpolate as signed short
  111.             pdLong = 3,                // Interpolate as signed long
  112.             pdUnsignedChar = 4,        // Interpolate as unsigned byte
  113.             pdUnsignedShort = 5,    // Interpolate as unsigned short
  114.             pdUnsignedLong = 6,        // Interpolate as unsigned long
  115.             pdExtended = 7,            // Interpolate as an extended
  116.             pdDouble = 8,            // Interpolate as a double
  117.             pdFloat = 9;            // Interpolate as a float
  118.         integer;                // Count of bytes to skip with pdOpaque, 0 otherwise.
  119.     };
  120. };
  121.  
  122. //----------------------------------------------------------------------------------------
  123. // Used by ExpD modules to inform Premiere about their capabilities. Use ID 1000.
  124. //----------------------------------------------------------------------------------------
  125. type 'FLAG' {
  126.     integer;    // Capability flags
  127. };
  128.  
  129. #define bitCanDoVideo    0x8000        // This module can export video clips
  130. #define bitCanDoAudio    0x4000        // This module can export audio clips
  131.